{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6b1c13c0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['元柏民', '任铭', '游连连', '门玮翔', '侯光鸿']"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with open('files/names.txt') as f:\n",
    "    names = f.readlines()\n",
    "names = [i.strip() for i in names]\n",
    "\n",
    "names[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "962b78ad",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'北京市': ['东城区',\n",
       "   '西城区',\n",
       "   '朝阳区',\n",
       "   '丰台区',\n",
       "   '石景山区',\n",
       "   '海淀区',\n",
       "   '门头沟区',\n",
       "   '房山区',\n",
       "   '通州区',\n",
       "   '顺义区',\n",
       "   '昌平区',\n",
       "   '大兴区',\n",
       "   '怀柔区',\n",
       "   '平谷区',\n",
       "   '密云区',\n",
       "   '延庆区']},\n",
       " {'天津市': ['河西区',\n",
       "   '和平区',\n",
       "   '河东区',\n",
       "   '南开区',\n",
       "   '河北区',\n",
       "   '红桥区',\n",
       "   '东丽区',\n",
       "   '西青区',\n",
       "   '津南区',\n",
       "   '北辰区',\n",
       "   '武清区',\n",
       "   '宝坻区',\n",
       "   '滨海新区',\n",
       "   '宁河区',\n",
       "   '静海区',\n",
       "   '蓟州区']}]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import json\n",
    "\n",
    "addresses = json.load(open('files/address.json'))\n",
    "\n",
    "addresses[:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a5cf3730",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'新疆维吾尔自治区可克达拉市'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import random\n",
    "\n",
    "\n",
    "def random_address(add, node):\n",
    "    if type(node) == list and (type(node[0]) == str):\n",
    "        return add + random.choice(node)\n",
    "\n",
    "    if type(node) == list:\n",
    "        node = random.choice(node)\n",
    "\n",
    "    if type(node) == str:\n",
    "        return add + node\n",
    "\n",
    "    key = random.choice(list(node.keys()))\n",
    "\n",
    "    add += key\n",
    "\n",
    "    return random_address(add, node[key])\n",
    "\n",
    "\n",
    "random_address('', addresses)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "05b30b90",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('柳新越', '女', '汉', 1974, 3, 12, '江西省九江市湖口县', '312427197403127668')"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def gen_text():\n",
    "    name = random.choice(names)\n",
    "    gender = random.choice(['男', '女'])\n",
    "    race = '汉'\n",
    "    year = random.randint(1960, 2010)\n",
    "    month = random.randint(1, 12)\n",
    "    day = random.randint(1, 31)\n",
    "    address = random_address('', addresses)[:16]\n",
    "    number = str(random.randint(100000, 999999))\n",
    "\n",
    "    month_s = str(month)\n",
    "    if len(month_s) == 1:\n",
    "        month_s = '0' + month_s\n",
    "\n",
    "    day_s = str(day)\n",
    "    if len(day_s) == 1:\n",
    "        day_s = '0' + day_s\n",
    "\n",
    "    number = number + str(year) + month_s + day_s + str(\n",
    "        random.randint(1000, 9999))\n",
    "\n",
    "    return name, gender, race, year, month, day, address, number\n",
    "\n",
    "\n",
    "gen_text()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "19f21a4a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "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",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=320x200>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import PIL.Image\n",
    "import PIL.ImageFont\n",
    "import PIL.ImageDraw\n",
    "\n",
    "\n",
    "def gen_image(name, gender, race, year, month, day, address, number):\n",
    "    font = PIL.ImageFont.truetype('files/SIMHEI.TTF', size=10)\n",
    "\n",
    "    image = PIL.Image.new('RGB', [320, 200], (226, 233, 242))\n",
    "\n",
    "    draw = PIL.ImageDraw.Draw(image)\n",
    "    draw.text(xy=[20, 25], text='姓名', font=font, fill=(99, 180, 210))\n",
    "    draw.text(xy=[20, 50],\n",
    "              text='性别          民族',\n",
    "              font=font,\n",
    "              fill=(99, 180, 210))\n",
    "    draw.text(xy=[20, 75],\n",
    "              text='出生          年    月    日',\n",
    "              font=font,\n",
    "              fill=(99, 180, 210))\n",
    "    draw.text(xy=[20, 100], text='住址', font=font, fill=(99, 180, 210))\n",
    "    draw.text(xy=[20, 165], text='公民身份号码', font=font, fill=(99, 180, 210))\n",
    "\n",
    "    font = PIL.ImageFont.truetype('files/SIMHEI.TTF', size=14)\n",
    "\n",
    "    draw.text(xy=[55, 23], text=name, font=font, fill=(0, 0, 0))\n",
    "    draw.text(xy=[55, 48],\n",
    "              text=gender + '       ' + race,\n",
    "              font=font,\n",
    "              fill=(0, 0, 0))\n",
    "\n",
    "    month_s = str(month)\n",
    "    if len(month_s) == 1:\n",
    "        month_s = ' ' + month_s\n",
    "\n",
    "    day_s = str(day)\n",
    "    if len(day_s) == 1:\n",
    "        day_s = ' ' + day_s\n",
    "\n",
    "    draw.text(xy=[55, 73],\n",
    "              text=str(year) + '   ' + month_s + '  ' + day_s,\n",
    "              font=font,\n",
    "              fill=(0, 0, 0))\n",
    "\n",
    "    if len(address) > 8:\n",
    "        address = '%s\\n%s' % (address[:8], address[8:])\n",
    "\n",
    "    draw.text(xy=[55, 98], text=address, font=font, fill=(0, 0, 0))\n",
    "\n",
    "    draw.text(xy=[95, 163], text=number, font=font, fill=(0, 0, 0))\n",
    "\n",
    "    draw.rectangle(xy=[190, 20, 290, 140], fill='gray')\n",
    "\n",
    "    return image\n",
    "\n",
    "\n",
    "gen_image(*gen_text())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "75788e86",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'box': [53, 21, 98, 40], 'word': '严建承', 'cls': 0},\n",
       " {'box': [53, 46, 70, 66], 'word': '女', 'cls': 1},\n",
       " {'box': [116, 46, 133, 66], 'word': '汉', 'cls': 2},\n",
       " {'box': [53, 73, 85, 88], 'word': '1975', 'cls': 3},\n",
       " {'box': [102, 73, 119, 88], 'word': '11', 'cls': 4},\n",
       " {'box': [130, 73, 147, 88], 'word': '13', 'cls': 5},\n",
       " {'box': [53, 97, 173, 133], 'word': '贵州省六盘水市钟山区', 'cls': 6},\n",
       " {'box': [92, 162, 222, 179], 'word': '820689197511139379', 'cls': 7}]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def gen_box(name, gender, race, year, month, day, address, number):\n",
    "    box = []\n",
    "\n",
    "    x2 = 84\n",
    "    if len(name) == 3:\n",
    "        x2 = 98\n",
    "    if len(name) == 4:\n",
    "        x2 = 112\n",
    "\n",
    "    box.append({'box': [53, 21, x2, 40], 'word': name, 'cls': 0})\n",
    "    box.append({'box': [53, 46, 70, 66], 'word': gender, 'cls': 1})\n",
    "    box.append({'box': [116, 46, 133, 66], 'word': race, 'cls': 2})\n",
    "    box.append({'box': [53, 73, 85, 88], 'word': str(year), 'cls': 3})\n",
    "\n",
    "    x1 = 102\n",
    "    if month < 10:\n",
    "        x1 = 108\n",
    "\n",
    "    box.append({'box': [x1, 73, 119, 88], 'word': str(month), 'cls': 4})\n",
    "\n",
    "    x1 = 130\n",
    "    if day < 10:\n",
    "        x1 = 136\n",
    "\n",
    "    box.append({'box': [x1, 73, 147, 88], 'word': str(day), 'cls': 5})\n",
    "\n",
    "    x2 = 53\n",
    "    x2 += 15 * min(8, len(address))\n",
    "    y2 = 115\n",
    "    if len(address) > 8:\n",
    "        y2 += 18\n",
    "\n",
    "    box.append({'box': [53, 97, x2, y2], 'word': address, 'cls': 6})\n",
    "    box.append({'box': [92, 162, 222, 179], 'word': number, 'cls': 7})\n",
    "\n",
    "    return box\n",
    "\n",
    "\n",
    "gen_box(*gen_text())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "517d80cc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "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",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=320x200>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def show_box(image, box):\n",
    "    draw = PIL.ImageDraw.Draw(image)\n",
    "\n",
    "    for box in box:\n",
    "        draw.rectangle(xy=box['box'], outline='red')\n",
    "\n",
    "    return image\n",
    "\n",
    "\n",
    "text = gen_text()\n",
    "image = gen_image(*text)\n",
    "box = gen_box(*text)\n",
    "\n",
    "show_box(image, box)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "74f306d9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "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",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=250x250>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import albumentations\n",
    "import numpy as np\n",
    "\n",
    "\n",
    "def compose(image, box):\n",
    "\n",
    "    def random_color():\n",
    "        return random.randint(0, 255), random.randint(0, 255), random.randint(\n",
    "            0, 255)\n",
    "\n",
    "    transform = albumentations.Compose(\n",
    "        [\n",
    "            albumentations.CropAndPad(\n",
    "                px=(50, 100), keep_size=False, pad_cval=[random_color()]),\n",
    "            albumentations.RandomBrightnessContrast(brightness_limit=0.1),\n",
    "            albumentations.ShiftScaleRotate(\n",
    "                scale_limit=0.2, rotate_limit=8, p=1.0),\n",
    "            albumentations.ColorJitter(),\n",
    "            albumentations.AdvancedBlur(blur_limit=(1, 3)),\n",
    "            albumentations.HueSaturationValue(),\n",
    "            albumentations.GaussNoise(),\n",
    "            albumentations.RandomSizedBBoxSafeCrop(250, 250),\n",
    "        ],\n",
    "        bbox_params=albumentations.BboxParams(format='pascal_voc'))\n",
    "\n",
    "    image = np.array(image)\n",
    "    bboxes = [[*i['box'], None] for i in box]\n",
    "\n",
    "    transformed = transform(image=image, bboxes=bboxes)\n",
    "\n",
    "    image = PIL.Image.fromarray(transformed['image'], 'RGB')\n",
    "\n",
    "    for i in range(len(transformed['bboxes'])):\n",
    "        bbox = transformed['bboxes'][i]\n",
    "        box[i]['box'] = bbox[:4]\n",
    "\n",
    "    return image, box\n",
    "\n",
    "\n",
    "text = gen_text()\n",
    "image = gen_image(*text)\n",
    "box = gen_box(*text)\n",
    "\n",
    "image, box = compose(image, box)\n",
    "\n",
    "show_box(image, box)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:pt]",
   "language": "python",
   "name": "conda-env-pt-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
